Current application systems typically work with large amounts of structured data, usually stored in databases. Accessing this data can be costly and complicated, typically requiring a skilled user even to perform simple tasks. For example, information contained in a database can be included in a report that is generated using JavaScript. However, this typically requires intimate knowledge of the JavaScript language to obtain the desired report. Alternatively, pre-programmed report types can be distributed with the database, but this approach can be inflexible and typically does not permit the user any ability to customize the report. Reports can also be generated using specialized design tools, but such tools typically require some knowledge of the internal data structures in order to create the appropriate query.
A computerized method, implemented in at least one processor, for automatically generating a report, the method including, receiving, by the at least one processor, a document that includes placeholders arranged in a layout, reading, by the at least one processor, the placeholders, mapping, by the at least one processor, the placeholders to respective executable queries, executing, by the at least one processor, a search of a database using the executable queries to retrieve information from the database, mapping, by the at least one processor, the information from the database to the layout, and generating an updated document that includes the information retrieved from the database arranged in a layout defined by the layout of the placeholders.
Various aspects of the disclosed subject matter can provide one or more of the following capabilities. A user can design a custom report with desired formatting more easily than with prior techniques. A user can design a report template with desired formatting using placeholders in a document. A database report template can be designed using a word processing application. A report template can contain arbitrary placeholders that are mapped to database queries. A data mapper can scan the report template to extract placeholders. A user (or other role) can interactively map/assign/correlate placeholders to database queries. A data mapper can be used to link placeholders to appropriate queries. The data retrieved from database queries can replace placeholders in a completed report. These and other capabilities of the disclosed subject matter will be more fully understood after a review of the following figures, detailed description, and claims.